package it.interazionemultimodale.twitterrecognizer.utility;

import java.util.HashMap;

import android.app.Application;
import android.content.SharedPreferences;
import android.gesture.GestureLibrary;
import android.speech.SpeechRecognizer;
import android.speech.tts.TextToSpeech;

public class Variables extends Application
{
	//Application preferences and keys
	public static SharedPreferences mSharedPreferences;
	public static final String SHARED_PREFERENCES_NAME = "app_preferences";
	public static final String KEY_OAUTH_TOKEN = "oauth_token";
	public static final String KEY_OAUTH_SECRET = "oauth_token_secret";
	public static final String KEY_TWITTER_LOGIN = "isTwitterLoggedIn";
	
	//Application gui settings
	public static final int INITIAL_TWEETS_TO_VISUALIZE = 10;
	public static final int PREDEFINED_OLDER_TWEETS_TO_VISUALIZE = 5;
	public static int OLDER_TWEETS_TO_VISUALIZE = 5;
	
	//Application messages
	public static final String NO_TWEETS_TO_VISUALIZE_MESSAGE = "Non ci sono tweet da visualizzare";
	public static final String NO_OLDER_TWEETS_TO_VISUALIZE_MESSAGE = "Nessun altro tweet da caricare";
	public static final String OLDER_TWEET_VISUALIZED_MESSAGE = "Vecchio tweet caricato";
	public static final String OLDER_TWEETS_VISUALIZED_MESSAGE = "vecchi tweet caricati";
	public static final String NO_NEW_TWEETS_TO_VISUALIZE_MESSAGE = "Nessun nuovo tweet pubblicato";
	public static final String NEW_TWEET_VISUALIZED_MESSAGE = "Nuovo tweet caricato";
	public static final String NEW_TWEETS_VISUALIZED_MESSAGE = "nuovi tweet caricati";
	
	//Application commands
	public static enum TwitterTaskCommand { NEW_TWEETS, OLDER_TWEETS, HOME_TWEETS }; //Note: older and home tweets command let tasks to differ only for the number of tweets downloaded
	
	//Application systems that needn't a separated manager
		//Speech recognizer system
	public static SpeechRecognizer speechRecognizer;
		//TTS (Text To Speech) system
	public static TextToSpeech textToSpeech;
	public static HashMap<String, String> ttsListenersMapAsk;
		//Gesture recognizer system
	public static GestureLibrary gestureRecognizer = null;
}
